let db = require('../db/connect');
let userModel = db.userModel;

module.exports = {
    //获取用户信息
    getUserInfo: function (req, res) {
        console.log('req.query--->', req.query);
        let userName = req.query.userName; 
        //传参数获取一个对应条件的数据
        // userModel.findOne({ username: userName }, function (err, doc) {
        //     console.log('getUserInfo--->', err, doc);
        //     let resData = {
        //         code: 200,
        //         data: {},
        //         success: null
        //     }
        //     if (!doc) {
        //         resData.code = 404;
        //         resData.success = false;
        //         return res.send(JSON.stringify(resData));

        //     } 
        //     resData.data = doc;
        //     resData.success = true;
        //     res.send(JSON.stringify(resData))//服务器里只能传数字或字符串，所以把json变成字符串格式
        // }) 

        //不传参数，获取userModel数据表中全部的数据
        userModel.find(function (err, doc) {
            console.log('getUserInfo--->', err, doc);
            //拿到数据并且修改好再发送给前端页面
            //在这里修改数据
            let docData = {
                code: 200,
                data: {},
                success: null
            }
            if(doc.length > 0){
                docData.data = doc;
                docData.success = true;
            }
            let resData = JSON.stringify(docData)
            // console.log("resData----->",resData)
            //替换字符串
            resData = resData.replace(/username/g,"姓名");
            resData = resData.replace(/password/g,"密码");
            console.log("resData----->",resData)

            res.send(resData)//服务器里只能传数字或字符串，所以把json变成字符串格式
        }) 
    },
    //登录
    userLogin: function (req, res) {
        console.log("路由使用成功")

        // let userName = req.query.userName; //(get请求)
        // let pwd = req.query.pwd;

        let userName = req.body.userName; //(post请求,body是解析过的post请求中的数据，需要在app.js主文件中解析后使用)
        let pwd = req.body.pwd;

        //通过服务器登录
        userModel.findOne({ username: userName, password: pwd }, function (err, doc) {
            if (doc) {
                console.log('find admin--->', doc);
                res.send("登录成功")
            } else {
                console.log('find admin--->', doc);
                res.send("登录失败")
            }
        })
    },
    
    //注册
    userSignin: function (req, res) {

        let userName = req.body.userName; //(post请求,body是解析过的post请求中的数据，需要在app.js主文件中解析后使用)
        let pwd = req.body.pwd;

        //通过服务器登录
        userModel.findOne({ username: userName }, function (err, doc) {
            if (doc) {
                console.log('find admin--->', doc);
                return res.send("账号已被占用")
            }
            userModel.create({username: userName, password: pwd}, function (error) {
                if (error) {
                    console.log(error);
                    return res.send("注册失败");
                } 
                console.log('save ok');
                res.send("注册成功")
            });

        })
    },

    //修改密码
    userReset: function (req, res) {

        let {
            userName,
            pwd,
            newPwd
        } = req.body
        // var multi = {multi: false};

        console.log(userName, pwd);

        //通过服务器登录
        userModel.updateOne({ username: userName ,password: pwd}, {password: newPwd},function (err, doc) {
            if (err) {
                return res.send("用户名或者密码不正确")
            }
            res.send("密码修改成功")
        })
    },

    //注销用户
    userRemove: function (req, res) {

        let {
            userName,
            pwd,
            newPwd
        } = req.body

        userModel.findOne({ username: userName, password: pwd}, function (err, doc) {
            console.log('remove findone--->', err, doc);
            if (err) {
                console.log("err--->",err)
                return res.send(err)
            }
            if (doc) {
                return userModel.remove({username: userName, password: pwd}, function (err, doc) {
                    console.log('remove remove--->', err, doc);

                    if (err) {
                        console.log(err);
                        return res.send("注销失败");
                    } 
                    res.send("注销成功")
                });
            }
            res.send('账号不存在')
        })
    },
    
}